<?php
/**
 * Created by PhpStorm.
 * User: gjw
 * Date: 19-5-22
 * Time: 下午3:04
 */
//抽象类提供了具体实现的标准，而接口则是纯粹的模版
interface A{

//    public $a;不能有成员变量
//    public static final $e;
    public function ww();//必须抽象
}

interface D{
    public function dog();
}



interface E extends A,D{

}

interface C{
//    public $a;不能有成员变量
//    public static final $e;
    public function ww();//必须抽象
}

abstract class B{

    public $a;
    public function __construct()
    {

    }


    public function test(){

    }

    abstract public function qq();
    abstract public function lala();

    protected function zz(){

    }


}


//class Z extends B{报错
//
//}


abstract class W extends B implements A,C{


    public function WW()
    {

    }


    public function qq()
    {

    }
}



//new B();//抽象类不能被直接实例化。
//new D();接口不能被直接实例化。


//相同点：
//
//(1)      两者都是抽象类，都不能实例化。
//
//(2)      interface 实现类及 abstract class 的子类都必须要实现已经声明的抽象方法。





